package xworker.swt.app.view.swt.data;

import org.eclipse.swt.widgets.Control;
import org.xmeta.Thing;
import xworker.dataObject.DataObject;

import java.util.List;

public interface DataStoreListener {	
	void onInsert(Thing store, int index, List<DataObject> records);
	
	void onLoaded(Thing store, List<DataObject> records);
	
	void onReconfig(Thing store);
	
	void onRemove(Thing store, List<DataObject> records);
	
	void onUpdate(Thing store, List<DataObject> records);
	
	void beforeLoad(Thing store);

	void totalCountUpdated(Thing store, long totalCount);

	/**
	 * 用来监控DataStoreListener生命周期的控件，如果Control.isDisposed()=true，表示要删除该监听了。
	 *
	 * @return 和Listener绑定的控件
	 */
	Control getControl();
}
